import java.io.BufferedReader;
import java.io.FileReader;
import java.util.StringTokenizer;

public class UserFile {

	String userId; // 사용자 아이디
	final static String FILE_NAME = "userinfo.csv";

	/**
	 * 주어진 사용자ID (첫번째 컬럼값)를 찾고, 그 행의 n번째(0부터 시작) 컬럼값을 반환한다.
	 * 
	 * @param id
	 *            사용자ID 문자열
	 * @param colIndex
	 *            컬럼순서 (첫번째 컬럼의 index는 0)
	 * @return
	 */
    
	public String gettokenByIndex(String id, int colIndex) {
		String searchResult = null;
		// -----------------------------------------------------------------------------
		// 'userinfo.CSV 파일'을 읽음
		// -----------------------------------------------------------------------------
		try {
			FileReader fileReader = new FileReader(FILE_NAME);
			BufferedReader reader = new BufferedReader(fileReader);

			// -----------------------------------------------------------------------------
			// 파일의 사용자명과 파라미터로 받은 사용자명이 일치하는지 확인
			// -----------------------------------------------------------------------------

			// -----------------------------------------------------------------------------
			// 한행씩 읽은 문자열을 StringTokenizer 객체를 사용하여 break down함.
			// 첫번째 field=사용자명
			// String token = "임성혜, 0657, 10.200.31.88"; // 테스트 위해 샘플 문자열 할당
			// -----------------------------------------------------------------------------

			System.out.println(reader.readLine()); // for test
			while (reader.ready()) {
				String line = new String(reader.readLine());
				System.out.println(line); // for test
				String token = line;
				StringTokenizer st = new StringTokenizer(token, ",");
				String firstField = new String(st.nextToken().getBytes(),
						"UTF-8");

				// 사용자 아이디 확인
				if (id.compareToIgnoreCase(firstField) == 0) {
					// 원하는 사용자ID를 찾은 경우
					int currIndex = 0;

					while (currIndex < colIndex) {
						searchResult = st.nextToken();
						currIndex++;
					} // while 구문 끝

					break;

				} // if 구문 끝
			} // while 구문 끝

		} catch (Exception ex) {
			ex.printStackTrace();
		} // end of try-catch

		return searchResult;
		// 그 행을 token으로 다루어 n번째 구성요소 값을 반환
	}  // gettokenByIndex 끝
   
   
   
   
   /*
   * user.info 파일의 사용자명을 옴
   */
   
   public String userList() {
		
		// -----------------------------------------------------------------------------
		// 'userinfo.CSV 파일'을 읽음
		// -----------------------------------------------------------------------------
		try {
			FileReader fileReader = new FileReader(FILE_NAME);
			BufferedReader reader = new BufferedReader(fileReader);

			  // -----------------------------------------------------------------------------
			// 한행씩 읽은 문자열을 StringTokenizer 객체를 사용하여 break down함.
			// 첫번째 field=사용자명
			// String token = "임성혜, 0657, 10.200.31.88"; // 테스트 위해 샘플 문자열 할당
			// -----------------------------------------------------------------------------

		
			while (reader.ready()) {
				String line = new String(reader.readLine());
				System.out.println(line); // for test
				String token = line;
				StringTokenizer st = new StringTokenizer(token, ",");
				String firstField = new String(st.nextToken().getBytes(),
						"UTF-8");
				System.out.println(firstField);
			} //while 구문 끝
		} //try 구문 끝

      }  // userList 끝
   
   
} // UserFile Class 끝